package com.happycat.mobile.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;
/**
 * Module: UserAccount.java
 *
 * @author liaoyong
 * @since JDK 1.8
 * @version 1.0
 * @date 2020-08-01
 * @Descriptions:
 */
@Data
@TableName(value = "user_account")
@ApiModel
public class UserAccount  {
	
	

	@TableId(value = "id", type = IdType.INPUT)
	@ApiModelProperty(value="id")
	private Long id;
	
	@ApiModelProperty(value="猫号")
	@TableField("cat_code")
	private Long catCode;
	
	@ApiModelProperty(value="账号名")
	@TableField("account_name")
	private String accountName;
	
	@ApiModelProperty(value="登录类型")
	@TableField(exist = false)
	private int loginType;
	
	
	@ApiModelProperty(value="验证码")
	@TableField(exist = false)
	private String verifyCode;
	
	
	@ApiModelProperty(value="账号密码")
	@TableField("password")
//	@JsonIgnore
	private String password;
	
	
	@ApiModelProperty(value="创建时间",example = "2020-01-01T12:18:48")
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@TableField("create_time")
	private Date createTime;
	
	
	@ApiModelProperty(value="账号余额")
	@TableField("balance")
	private Double balance;
	
	
	@ApiModelProperty(value="宠爱值余额")
	@TableField("pet_value_balance")
	private Double petValueBalance;
	
	
	@ApiModelProperty(value="荧光棒")
	@TableField("light_stick")
	private Integer lightStick;
	
	
	@ApiModelProperty(value="渠道ID")
	@TableField("channel_id")
	private Long channelId;
	
	
	@ApiModelProperty(value="归属渠道")
	@TableField("channel")
	private String channel;
	
	
	@ApiModelProperty(value="注册设备及设备号")
	@TableField("device")
	private String device;
	
	
	@ApiModelProperty(value="个性签名")
	@TableField("signature")
	private String signature;
	
	
	@ApiModelProperty(value="用户标签")
	@TableField("label_list")
	private String labelList;
	
	
	@ApiModelProperty(value="相册")
	@TableField("album_list")
	private String albumList;
	
	
	@ApiModelProperty(value="地区")
	@TableField("area")
	private String area;
	
	@ApiModelProperty(value="年龄")
	@TableField("age")
	private Integer age;
	
	@ApiModelProperty(value="昵称")
	@TableField("nick")
	private String nick;
	
	@ApiModelProperty(value="生日")
	@TableField("birth_day")
	private String birthDay;
	
	@ApiModelProperty(value="等级")
	@TableField("user_level")
	private String userLevel;
	
	
	@ApiModelProperty(value="头像")
	@TableField("avatar")
	private String avatar;
	
	
	@ApiModelProperty(value="是否在线")
	@TableField("is_online")
	private Integer isOnline;
	
	@ApiModelProperty(value="性别，0：男，1：女")
	@TableField("sex")
	private Integer sex;
	
	@ApiModelProperty(value="状态")
	@TableField("status")
	private Integer status;


	@ApiModelProperty(value="经验值")
	@TableField("exp")
	private Integer exp;

	@ApiModelProperty(value="im账户id")
	@TableField("im_user_id")
    private String imUserId;

	@ApiModelProperty(value="微信用户openid")
	@TableField("wx_openid")
    private String wxOpenid;

	@ApiModelProperty(value="微信用户union_id")
	@TableField("union_id")
    private String unionId;

	@ApiModelProperty(value="第三方登录类型:1:微信小程序登录，2:微信移动应用登录，3:微信h5登录")
	@TableField("third_login_type")
    private String thirdLoginType;

	@ApiModelProperty(value="用户登录token")
	@TableField(exist = false)
	private String token;
	
	@ApiModelProperty(value="账号角色")
	@TableField(exist = false)
	private List<AccountRole> accountRoleList;
	
	@ApiModelProperty(value="账号用户信息")
	@TableField(exist = false)
	private HappyCatUser happyCatUser;
	
	@ApiModelProperty(value="账号大神信息")
	@TableField(exist = false)
	private List<UserManitoApply> userManitoApplyList;
	
	@ApiModelProperty(value="是否大神账号，0:是,1:是")
	private int manito;
	
	@ApiModelProperty(value="根据技能品类查询大神")
	@TableField(exist = false)
	private Long manitoId;
	
	@ApiModelProperty(value="查询tab,1:新秀，2：热门，3：热门，4游戏品类")
	@TableField(exist = false)
	private int type;
	
	@ApiModelProperty(value="模糊搜索条件，昵称，id,品类")
	@TableField(exist = false)
	private String search;
	
	@ApiModelProperty(value="粉丝数量")
	@TableField(exist = false)
	private int fansNumber;

}